package main

import (
	"fmt"
	"strconv"
	"time"
)
import "math/rand"

func main() {
	//1、儿童弹珠游戏  -- random
	//   随机生成12位的01字符串 --》 “100100000110”
	//   1 表示灯亮  0 表示灯灭
	//   随机生成下标   看游戏结果
	str1 := 0
	rand.Seed(time.Now().UnixNano())
	for i := 0; i < 12; i++ {
		str1 = str1*10 + rand.Intn(2) //此处有小bug

	}
	str2 := strconv.Itoa(str1)
	fmt.Println(str2)
	n := rand.Intn(12)
	fmt.Println("下标为:", n)
	if str2[n] == '1' {
		fmt.Println("游戏胜利")
	} else {
		fmt.Println("游戏失败")
	}

	//2.接收用户从键盘的输入身份证号
	//   1 输入的全是数字  2.身份证位数  3.获取年龄
	//   年龄在18之前，输出未成年
	//   18-50 青壮年
	//   50 老年
	var idCard string
	var flag bool
	flag = true
	fmt.Println("请输入身份证")
	fmt.Scan(&idCard)
	if len(idCard) != 18 {
		flag = false
	} else {
		for i := 0; i < 18; i++ {
			if !(idCard[i] >= 48 && idCard[i] <= 57) {
				flag = false
				break
			}
		}
	}
	if flag {
		year, _ := strconv.ParseInt(idCard[6:10], 10, 64)
		age := 2022 - year
		if age < 18 {
			fmt.Println("未成年")
		} else if age >= 18 && age <= 50 {
			fmt.Println("青壮年")
		} else {
			fmt.Println("老年")
		}
	} else {
		fmt.Println("身份证不合法")
	}

}
